#pragma once
#include "Singleton.h"


enum RobotCommandState
{
	Command_Idle = 0,
	Command_MoveForward,
	Command_MoveBack,
	Command_Count,
};


enum PartAction
{
	Part_ActionIdle = 0,
	Part_ActionMoveForward,
	Part_ActionMoveBack,
	Part_ActionCount,
};

enum PartType
{
	Part_TypeNone = 0,
	Part_TypeCore,
	Part_TypeBody,
	Part_TypeWheel,
	Part_TypeJoint,
	Part_TypeCount,
};


class ActionManager : public Singleton<ActionManager>
{
	friend Singleton;
private:
	// constructor.
	ActionManager();

	// destructor.
	~ActionManager();
public:
	void OnUpdate(float frameTime);

	PartAction GetPartAction(RobotCommandState c, PartType p);
private:
	PartAction m_RobotCommandTranslator[Command_Count][Part_TypeCount];
};